import { TODO_ADD, TODO_CHANGE_STATUS, TODO_DEL } from "../constans/todo"

const initState = [
  {
    id: 1,
    name: '吃饭',
    done: true,
  },
  {
    id: 2,
    name: '睡觉',
    done: false,
  },
]

export default function todo (state = initState, action) {
  switch (action.type) {
    // 删除
    case TODO_DEL:
      return state.filter((item) => item.id !== action.id)
    // 修改状态
    case TODO_CHANGE_STATUS:
      return state.map((item) => {
        if (item.id === action.id) {
          return {
            ...item,
            done: !item.done
          }

        } else {
          return item
        }
      })
    // 添加
    case TODO_ADD:
      //  return [
      //    ...state,
      //    {
      //      id:action.id,
      //      name:action.name,
      //      done:action.done
      //    }
      //  ]
      const { type, ...res } = action
      return [...state, res]
    default:
      return state
  }

}